home *** CD-ROM | disk | FTP | other *** search
- ;/* Execute me to compile with DICE V3.0
- dcc font.c -proto -mi -ms -mRR -lbgui
- quit
- */
- /*
- ** $RCSfile: font.c,v $
- ** Description: Simple demonstration to show how to
- ** create the standard system/gadtools/topaz 8 look
- ** (if you really want to :))
- ** Copyright: (C) Copyright 1994 Jaba Development.
- ** (C) Copyright 1994 Jan van den Baard.
- ** All Rights Reserved.
- **
- ** $Author: jaba $
- ** $Revision: 1.3 $
- ** $Date: 1994/08/03 11:35:21 $
- **/
-
- #include <libraries/bgui.h>
- #include <libraries/bgui_macros.h>
- #include <libraries/gadtools.h>
-
- #include <clib/alib_protos.h>
-
- #include <proto/exec.h>
- #include <proto/bgui.h>
- #include <proto/intuition.h>
-
- #include <stdio.h>
- #include <stdlib.h>
-
- /*
- ** Library base pointer.
- ** NOTE: The intuition.library is opened by DICE
- ** it's auto-init code.
- **/
- struct Library *BGUIBase;
-
- /*
- ** Object ID.
- **/
- #define ID_QUIT 1
- #define ID_ABOUT 2
-
- /*
- ** Topaz :(
- **/
- struct TextAttr Topaz = {
- ( STRPTR )"topaz.font", TOPAZ_EIGHTY, FS_NORMAL, FPF_ROMFONT
- };
-
- /*
- ** Simple menu-strip.
- **/
- struct NewMenu MenuStrip[] = {
- Title( "Project" ),
- Item( "Open...", "O", NULL ),
- Item( "Save As...", "A", NULL ),
- ItemBar,
- Item( "About...", "?", ID_ABOUT ),
- ItemBar,
- Item( "Quit", "Q", ID_QUIT ),
- Title( "Edit" ),
- Item( "Reset To Defaults", "D", NULL ),
- Item( "Last Saved", "L", NULL ),
- Item( "Restore", "R", NULL ),
- Title( "Settings" ),
- NM_ITEM, "Create Icons?", "I", CHECKIT, 0, NULL,
- End
- };
-
- /*
- ** Put up a requester.
- **/
- ULONG Req( struct Window *win, UBYTE *gadgets, UBYTE *body, ... )
- {
- struct bguiRequest req = { NULL };
-
- req.br_GadgetFormat = gadgets;
- req.br_TextFormat = body;
- req.br_Flags = BREQF_CENTERWINDOW|BREQF_LOCKWINDOW;
-
- return( BGUI_RequestA( win, &req, ( ULONG * )(( ULONG * )&body+1 )));
- }
-
- int main( int argc, char *argv[] )
- {
- struct Window *win;
- Object *WO_Window;
- ULONG signal = 0, rc, tmp = 0;
- BOOL running = TRUE;
-
- /*
- ** Open the library.
- **/
- if ( BGUIBase = OpenLibrary( BGUINAME, BGUIVERSION )) {
- /*
- ** Create the window object.
- **/
- WO_Window = WindowObject,
- WINDOW_Title, "Font Preferences",
- WINDOW_MenuStrip, MenuStrip,
- WINDOW_SizeGadget, FALSE,
- WINDOW_CloseGadget, FALSE,
- WINDOW_ScaleWidth, 20,
- WINDOW_Font, &Topaz,
- WINDOW_MasterGroup,
- VGroupObject, HOffset( 4 ), VOffset( 4 ), Spacing( 4 ),
- StartMember,
- InfoObject,
- INFO_TextFormat, ISEQ_C "Selected Fonts",
- INFO_HorizOffset, 0,
- INFO_VertOffset, 0,
- EndObject,
- EndMember,
- StartMember,
- HGroupObject, HOffset( 2 ), VOffset( 1 ), Spacing( 4 ), ButtonFrame, FRM_Flags, FRF_RECESSED,
- StartMember,
- InfoObject,
- INFO_TextFormat, ISEQ_R "Workbench Icon Text:\n"
- "System Default Text:\n"
- "Screen Text:",
- INFO_FixTextWidth, TRUE,
- INFO_MinLines, 3,
- INFO_VertOffset, 2,
- EndObject,
- EndMember,
- StartMember,
- InfoObject,
- INFO_TextFormat, "topaz 8\n"
- "topaz 8\n"
- "topaz 8",
- INFO_FixTextWidth, TRUE,
- INFO_MinLines, 3,
- INFO_HorizOffset, 0,
- INFO_VertOffset, 2,
- EndObject,
- EndMember,
- EndObject,
- EndMember,
- StartMember,
- Button( "Select Workbench Icon Text...", 0 ),
- EndMember,
- StartMember,
- Button( "Select System Default Text...", 0 ),
- EndMember,
- StartMember,
- Button( "Select Screen Text...", 0 ),
- EndMember,
- StartMember,
- HGroupObject,
- StartMember, Button( "Save", ID_QUIT ), EndMember,
- VarSpace( DEFAULT_WEIGHT ),
- StartMember, Button( "Use", ID_QUIT ), EndMember,
- VarSpace( DEFAULT_WEIGHT ),
- StartMember, Button( "Cancel", ID_QUIT ), EndMember,
- EndObject,
- EndMember,
- EndObject,
- EndObject;
-
- /*
- ** Object created OK?
- **/
- if ( WO_Window ) {
- /*
- ** try to open the window.
- **/
- if ( win = WindowOpen( WO_Window )) {
- /*
- ** Obtain it's wait mask.
- **/
- GetAttr( WINDOW_SigMask, WO_Window, &signal );
- /*
- ** Event loop...
- **/
- do {
- Wait( signal );
- /*
- ** Handle events.
- **/
- while (( rc = HandleEvent( WO_Window )) != WMHI_NOMORE ) {
- /*
- ** Evaluate return code.
- **/
- switch ( rc ) {
-
- case WMHI_CLOSEWINDOW:
- case ID_QUIT:
- running = FALSE;
- break;
- case ID_ABOUT:
- Req( win, "OK", ISEQ_C "This is a demonstration of how to code\n"
- "the standard (boring) system/gadtools/topaz/fixed size\n"
- "look with BGUI....\nif you " ISEQ_B "really" ISEQ_N " want to ;)" );
- break;
- }
- }
- } while ( running );
- }
- DisposeObject( WO_Window );
- } else
- puts( "Could not create the window object" );
- CloseLibrary( BGUIBase );
- } else
- puts( "Unable to open the bgui.library" );
-
- return( 0 );
- }
-
- #ifdef _DCC
- int wbmain( struct WBStartup *wbs )
- {
- return( main( 0, NULL ));
- }
- #endif
-
- /*
- * $Log: font.c,v $
- * Revision 1.3 1994/08/03 11:35:21 jaba
- * Switched from clib/ to proto/.
- *
- * Revision 1.2 1994/07/28 16:51:55 jaba
- * Added a descriptive requester in an About menu item.
- *
- */
-